home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / asm-generic / topology.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  2.0 KB  |  71 lines

  1. /*
  2.  * linux/include/asm-generic/topology.h
  3.  *
  4.  * Written by: Matthew Dobson, IBM Corporation
  5.  *
  6.  * Copyright (C) 2002, IBM Corp.
  7.  *
  8.  * All rights reserved.          
  9.  *
  10.  * This program is free software; you can redistribute it and/or modify
  11.  * it under the terms of the GNU General Public License as published by
  12.  * the Free Software Foundation; either version 2 of the License, or
  13.  * (at your option) any later version.
  14.  *
  15.  * This program is distributed in the hope that it will be useful, but
  16.  * WITHOUT ANY WARRANTY; without even the implied warranty of
  17.  * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
  18.  * NON INFRINGEMENT.  See the GNU General Public License for more
  19.  * details.
  20.  *
  21.  * You should have received a copy of the GNU General Public License
  22.  * along with this program; if not, write to the Free Software
  23.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  24.  *
  25.  * Send feedback to <colpatch@us.ibm.com>
  26.  */
  27. #ifndef _ASM_GENERIC_TOPOLOGY_H
  28. #define _ASM_GENERIC_TOPOLOGY_H
  29.  
  30. #ifndef    CONFIG_NUMA
  31.  
  32. /* Other architectures wishing to use this simple topology API should fill
  33.    in the below functions as appropriate in their own <asm/topology.h> file. */
  34. #ifndef cpu_to_node
  35. #define cpu_to_node(cpu)    ((void)(cpu),0)
  36. #endif
  37. #ifndef parent_node
  38. #define parent_node(node)    ((void)(node),0)
  39. #endif
  40. #ifndef node_to_cpumask
  41. #define node_to_cpumask(node)    ((void)node, cpu_online_map)
  42. #endif
  43. #ifndef node_to_first_cpu
  44. #define node_to_first_cpu(node)    ((void)(node),0)
  45. #endif
  46. #ifndef pcibus_to_node
  47. #define pcibus_to_node(bus)    ((void)(bus), -1)
  48. #endif
  49.  
  50. #ifndef pcibus_to_cpumask
  51. #define pcibus_to_cpumask(bus)    (pcibus_to_node(bus) == -1 ? \
  52.                     CPU_MASK_ALL : \
  53.                     node_to_cpumask(pcibus_to_node(bus)) \
  54.                 )
  55. #endif
  56.  
  57. #endif    /* CONFIG_NUMA */
  58.  
  59. /* returns pointer to cpumask for specified node */
  60. #ifndef node_to_cpumask_ptr
  61.  
  62. #define    node_to_cpumask_ptr(v, node)                     \
  63.         cpumask_t _##v = node_to_cpumask(node);            \
  64.         const cpumask_t *v = &_##v
  65.  
  66. #define node_to_cpumask_ptr_next(v, node)                \
  67.               _##v = node_to_cpumask(node)
  68. #endif
  69.  
  70. #endif /* _ASM_GENERIC_TOPOLOGY_H */
  71.